reordering of allocated memory
authorØyvind Kolås <ok@src.gnome.org>
Tue, 16 Aug 2005 16:25:46 +0000 (16:25 +0000)
committerØyvind Kolås <ok@src.gnome.org>
Tue, 16 Aug 2005 16:25:46 +0000 (16:25 +0000)
ChangeLog
babl/babl-format.c
babl/babl-model.c
babl/babl-pixel-format.c

index e2cb9b93c63cfc950d392dd8aed22f51604ff229..8702eaee93607445d1ac2fad0bf2f039e9cb138f 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2005-08-16  Øyvind Kolås  <pippin@gimp.org>
+
+       * babl/babl-model.c: (model_new)
+       * babl/babl-pixel-format.c: (pixel_format_new): reordered allocation
+       to place string (to avoid placing pointers in non aligned adresses).
+
 2005-08-16  Øyvind Kolås  <pippin@gimp.org>
 
        * babl/babl-component.c: (component_new, each_babl_component_destroy) allocate
index f058e54e098d7772d1f25602c1576089e0b838a9..a64349ac68648c64f7dd21dc3ab33bf5db6a3b48 100644 (file)
@@ -62,11 +62,11 @@ pixel_format_new (const char     *name,
                        sizeof (int)            * (bands+1) +
                        sizeof (int)            * (bands+1),1);
 
-  babl->instance.name          = ((void *)babl)                         + sizeof (BablPixelFormat);
-  babl->pixel_format.model     = ((void *)babl->instance.name)          + strlen (name) + 1;
+  babl->pixel_format.model     = ((void *)babl) + sizeof (BablPixelFormat);
   babl->pixel_format.component = ((void *)babl->pixel_format.model)     + sizeof (BablModel*) * (bands+1);
   babl->pixel_format.type      = ((void *)babl->pixel_format.component) + sizeof (BablComponent*) * (bands+1);
   babl->pixel_format.sampling  = ((void *)babl->pixel_format.type)      + sizeof (BablType*) * (bands+1);
+  babl->instance.name          = ((void *)babl->pixel_format.sampling)  + sizeof (BablSampling*) * (bands+1);
   
   babl->class_type    = BABL_PIXEL_FORMAT;
   babl->instance.id   = id;
index bfbd11dc4f567594eb1945f820798b9220d77e99..6b44cd7f88217693375a72fa476046e2afd6ed95 100644 (file)
@@ -48,8 +48,8 @@ model_new (const char     *name,
   babl                   = babl_calloc (sizeof (BablModel) +
                                         sizeof (BablComponent*) * (components+1) +
                                         strlen (name) + 1, 1);
-  babl->instance.name   = ((void*)babl) + sizeof (BablModel);
-  babl->model.component = ((void*)babl->instance.name) + strlen (name) + 1;
+  babl->model.component = ((void*)babl) + sizeof (BablModel);
+  babl->instance.name   = ((void*)babl->model.component) + sizeof (BablComponent*) * (components + 1);
   
   babl->class_type       = BABL_MODEL;
   babl->instance.id      = id;
index f058e54e098d7772d1f25602c1576089e0b838a9..a64349ac68648c64f7dd21dc3ab33bf5db6a3b48 100644 (file)
@@ -62,11 +62,11 @@ pixel_format_new (const char     *name,
                        sizeof (int)            * (bands+1) +
                        sizeof (int)            * (bands+1),1);
 
-  babl->instance.name          = ((void *)babl)                         + sizeof (BablPixelFormat);
-  babl->pixel_format.model     = ((void *)babl->instance.name)          + strlen (name) + 1;
+  babl->pixel_format.model     = ((void *)babl) + sizeof (BablPixelFormat);
   babl->pixel_format.component = ((void *)babl->pixel_format.model)     + sizeof (BablModel*) * (bands+1);
   babl->pixel_format.type      = ((void *)babl->pixel_format.component) + sizeof (BablComponent*) * (bands+1);
   babl->pixel_format.sampling  = ((void *)babl->pixel_format.type)      + sizeof (BablType*) * (bands+1);
+  babl->instance.name          = ((void *)babl->pixel_format.sampling)  + sizeof (BablSampling*) * (bands+1);
   
   babl->class_type    = BABL_PIXEL_FORMAT;
   babl->instance.id   = id;